pub struct ManifestMetadata {
pub authors: Vec<String>,
pub keywords: Vec<String>,
+ pub categories: Vec<String>,
pub license: Option<String>,
pub license_file: Option<String>,
pub description: Option<String>, // not markdown
let ManifestMetadata {
ref authors, ref description, ref homepage, ref documentation,
ref keywords, ref readme, ref repository, ref license, ref license_file,
+ ref categories,
} = *manifest.metadata();
let readme = match *readme {
Some(ref readme) => Some(paths::read(&pkg.root().join(readme))?),
homepage: homepage.clone(),
documentation: documentation.clone(),
keywords: keywords.clone(),
+ categories: categories.clone(),
readme: readme,
repository: repository.clone(),
license: license.clone(),
documentation: Option<String>,
readme: Option<String>,
keywords: Option<Vec<String>>,
+ categories: Option<Vec<String>>,
license: Option<String>,
license_file: Option<String>,
repository: Option<String>,
license_file: project.license_file.clone(),
repository: project.repository.clone(),
keywords: project.keywords.clone().unwrap_or(Vec::new()),
+ categories: project.categories.clone().unwrap_or(Vec::new()),
};
let workspace_config = match (self.workspace.as_ref(),
pub homepage: Option<String>,
pub readme: Option<String>,
pub keywords: Vec<String>,
+ pub categories: Vec<String>,
pub license: Option<String>,
pub license_file: Option<String>,
pub repository: Option<String>,
# contents of this file are stored and indexed in the registry.
readme = "..."
-# This is a small list of keywords used to categorize and search for this
-# package.
+# This is a list of up to five keywords that describe this crate. Keywords
+# are searchable on crates.io, and you may choose any words that would
+# help someone find this crate.
keywords = ["...", "..."]
+# This is a list of up to five categories where this crate would fit.
+# Categories are a fixed list available at crates.io/categories, and
+# they must match exactly.
+categories = ["...", "..."]
+
# This is a string description of the license for this package. Currently
# crates.io will validate the license provided against a whitelist of known
# license identifiers from http://spdx.org/licenses/. Multiple licenses can be